package com.tian.service;

import com.tian.common.CommonResult;
import com.tian.common.PageResult;
import com.tian.dto.*;

import java.util.List;

/**
 * {@code @description:} 用户信息
 *
 * @author tianwc 公众号：Java后端技术全栈
 * 在线刷题 1200+java面试题和1000+篇技术文章：<a href="https://woaijava.cc/">博客地址</a>
 * {@code @date:} 2024/1/18 15:02
 * {@code @version:} 1.0
 */
public interface ChargeUserService {
    /**
     * 查询用户信息
     *
     * @return 用户信息
     */
    CommonResult<ChargeUserDto> queryById();

    /**
     * 用户注册
     *
     * @return 注册成功
     */
    CommonResult<Boolean> register(ChargeUserRegistryReqDto chargeUserRegistryReqDto);

    /**
     * 修改用户信息
     *
     * @param chargeUserDto 用户变更信息
     * @return 修改是否成功
     */
    CommonResult<Boolean> updateNickNameById(ChargeUserDto chargeUserDto);

    CommonResult<Boolean> updateAvatarImgById(ChargeUserDto chargeUserDto);

    CommonResult<ChargeUsersRespDto> findUserByUserIdList(ChargeUsersReqDto chargeUsersReqDto);

    CommonResult<UserCountRespDto> userCount();

    CommonResult<PageResult<List<ChargeUserInfoDto>>> list(ChargeUserPageReqDto chargeUserPageReqDto);
}
